home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-11-30 | 6.8 KB | 280 lines | [TEXT/PJMM] |
- unit MyDialogs;
-
- interface
-
- procedure SetItemText (dlg: dialogPtr; item: integer; text: str255);
- procedure GetItemText (dlg: dialogPtr; item: integer; var text: str255);
- function GetItemTextF (dlg: dialogPtr; item: integer): str255;
- function ControlEnabled (dlg: dialogPtr; item: integer): boolean;
- procedure OutlineDefault1 (dp: dialogPtr; item: integer);
- procedure SetUpDefaultOutline (dp: dialogPtr; def_item, user_item: integer);
- procedure FlashItem (dlg: dialogPtr; item: integer);
- procedure SetDItemRect (dp: dialogPtr; item: integer; rr: rect);
- procedure GetDItemRect (dp: dialogPtr; item: integer; var rr: rect);
- procedure SetDItemKind (dp: dialogPtr; item: integer; k: integer);
- procedure GetDItemKind (dp: dialogPtr; item: integer; var k: integer);
- function GetDControlHandle (dp: dialogPtr; item: integer): controlHandle;
- function GetDItemHandle (dp: dialogPtr; item: integer): handle;
- procedure SetDItemHandle (dp: dialogPtr; item: integer; h: univ handle);
- procedure SetControlEnable (dp: dialogPtr; item: integer; on: boolean);
- function GetDCtlValue (dp: dialogPtr; item: integer): integer;
- procedure SetDCtlValue (dp: dialogPtr; item: integer; value: integer);
- procedure DrawDItem (dp: dialogPtr; item: integer);
- function GetPopupMHandle (dlg: dialogPtr; item: integer): menuHandle;
- procedure SetPopUpMenuOnMouseDown (dlg: dialogPtr; item: integer; text: str255);
- procedure GetPopUpItemText (dlg: dialogPtr; item: integer; var text: str255);
- procedure GetDAFont (var font: integer);
- procedure SetWindowTitle (window: windowPtr; title: str255);
-
- implementation
-
- {$S Util}
- procedure SetItemText (dlg: dialogPtr; item: integer; text: str255);
- var
- it: integer;
- ih: handle;
- box: rect;
- oldtext: str255;
- begin
- GetDItem(dlg, item, it, ih, box);
- GetIText(ih, oldtext);
- if oldtext <> text then
- SetIText(ih, text);
- end;
-
- {$S Util}
- procedure GetItemText (dlg: dialogPtr; item: integer; var text: str255);
- var
- it: integer;
- ih: handle;
- box: rect;
- begin
- GetDItem(dlg, item, it, ih, box);
- GetIText(ih, text);
- end;
-
- {$S Util}
- function GetItemTextF (dlg: dialogPtr; item: integer): str255;
- var
- text: str255;
- begin
- GetItemText(dlg, item, text);
- GetItemTextF := text;
- end;
-
- {$S Util}
- function ControlEnabled (dlg: dialogPtr; item: integer): boolean;
- var
- k: integer;
- h: handle;
- r: rect;
- begin
- GetDItem(dlg, item, k, h, r);
- ControlEnabled := controlHandle(h)^^.contrlHilite <> 255;
- end;
-
- {$S}
- procedure OutlineDefault1 (dp: dialogPtr; item: integer);
- var
- kind: integer;
- h: handle;
- r: rect;
- begin
- SetPort(dp);
- GetDItem(dp, 1, kind, h, r);
- PenSize(3, 3);
- InsetRect(r, -4, -4);
- if controlHandle(h)^^.contrlHilite = 255 then
- PenPat(gray);
- FrameRoundRect(r, 16, 16);
- if controlHandle(h)^^.contrlHilite = 255 then
- PenPat(black);
- PenNormal;
- end;
-
- {$S Util}
- procedure SetUpDefaultOutline (dp: dialogPtr; def_item, user_item: integer);
- var
- kind: integer;
- h: handle;
- r: rect;
- begin
- if def_item <> 1 then
- DebugStr('SetUpDefaultOutline:Cant handle anything except 1 yet');
- GetDItem(dp, user_item, kind, h, r);
- InsetRect(r, -10, -10);
- SetDItem(dp, user_item, userItem, handle(@OutlineDefault1), r);
- end;
-
- {$S Util}
- procedure FlashItem (dlg: dialogPtr; item: integer);
- var
- kind: integer;
- h: handle;
- r: rect;
- f: longInt;
- begin
- GetDItem(dlg, item, kind, h, r);
- HiliteControl(controlHandle(h), inButton);
- Delay(2, f);
- HiliteControl(controlHandle(h), 0);
- end;
-
- {$S Util}
- procedure SetDItemRect (dp: dialogPtr; item: integer; rr: rect);
- var
- kind: integer;
- h: handle;
- r: rect;
- begin
- GetDItem(dp, item, kind, h, r);
- SetDItem(dp, item, kind, h, rr);
- end;
-
- {$S Util}
- procedure GetDItemRect (dp: dialogPtr; item: integer; var rr: rect);
- var
- kind: integer;
- h: handle;
- begin
- GetDItem(dp, item, kind, h, rr);
- end;
-
- {$S Util}
- procedure SetDItemKind (dp: dialogPtr; item: integer; k: integer);
- var
- kk: integer;
- h: handle;
- r: rect;
- begin
- GetDItem(dp, item, kk, h, r);
- SetDItem(dp, item, k, h, r);
- end;
-
- {$S Util}
- procedure GetDItemKind (dp: dialogPtr; item: integer; var k: integer);
- var
- r: rect;
- h: handle;
- begin
- GetDItem(dp, item, k, h, r);
- end;
-
- function GetDControlHandle (dp: dialogPtr; item: integer): controlHandle;
- begin
- GetDControlHandle := ControlHandle(GetDItemHandle(dp, item));
- end;
-
- function GetDItemhandle (dp: dialogPtr; item: integer): handle;
- var
- kind: integer;
- h: handle;
- r: rect;
- begin
- GetDItem(dp, item, kind, h, r);
- GetDItemhandle := h;
- end;
-
- procedure SetDItemHandle (dp: dialogPtr; item: integer; h: univ handle);
- var
- kind: integer;
- hh: handle;
- r: rect;
- begin
- GetDItem(dp, item, kind, hh, r);
- SetDItem(dp, item, kind, h, r);
- end;
-
- procedure SetControlEnable (dp: dialogPtr; item: integer; on: boolean);
- var
- ch: ControlHandle;
- hilite: integer;
- begin
- ch := GetDControlHandle(dp, item);
- hilite := 255 * ord(not on);
- if ch^^.contrlHilite <> hilite then
- HiliteControl(ch, hilite);
- end;
-
- function GetDCtlValue (dp: dialogPtr; item: integer): integer;
- begin
- GetDCtlValue := GetCtlValue(GetDControlHandle(dp, item));
- end;
-
- procedure SetDCtlValue (dp: dialogPtr; item: integer; value: integer);
- begin
- SetCtlValue(GetDControlHandle(dp, item), value);
- end;
-
- procedure DrawDItem (dp: dialogPtr; item: integer);
- begin
- Draw1Control(GetDControlHandle(dp, item));
- end;
-
- function GetPopupMHandle (dlg: dialogPtr; item: integer): menuHandle;
- type
- MenuHandlePtr = ^MenuHandle;
- MenuHandleHandle = ^MenuHandlePtr;
- begin
- GetPopupMHandle := MenuHandleHandle(ControlHandle(GetDItemHandle(dlg, item))^^.contrlData)^^;
- end;
-
- procedure SetPopUpMenuOnMouseDown (dlg: dialogPtr; item: integer; text: str255);
- var
- mh: MenuHandle;
- i, index, start: integer;
- s: str255;
- added: boolean;
- begin
- mh := GetPopupMHandle(dlg, item);
- if text = '' then begin
- GetItem(mh, 1, text);
- end;
- GetItem(mh, 2, s);
- if s = '-' then begin
- DelMenuItem(mh, 2);
- DelMenuItem(mh, 1);
- end;
- index := 0;
- for i := 1 to CountMItems(mh) do begin
- GetItem(mh, i, s);
- if (IUEqualString(s, text) = 0) then begin
- index := i;
- leave;
- end;
- end;
- if index = 0 then begin
- InsMenuItem(mh, '(-;fred', 0);
- SetItem(mh, 1, text);
- index := 1;
- end;
- SetDCtlValue(dlg, item, index);
- end;
-
- procedure GetPopUpItemText (dlg: dialogPtr; item: integer; var text: str255);
- var
- mh: MenuHandle;
- begin
- mh := GetPopupMHandle(dlg, item);
- GetItem(GetPopupMHandle(dlg, item), GetDCtlValue(dlg, item), text);
- end;
-
- procedure GetDAFont (var font: integer);
- type
- intPtr = ^integer;
- const
- DlgFont = $AFA;
- begin
- font := intPtr(DlgFont)^;
- end;
-
- procedure SetWindowTitle (window: windowPtr; title: str255);
- var
- s: str255;
- begin
- GetWTitle(window, s);
- if s <> title then
- SetWTitle(window, title);
- end;
-
- end.